package com.gowants.pems.mapper;

import com.gowants.pems.model.Equipment;
import com.gowants.pems.model.EquipmentFile;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

@Repository
public interface EquipmentMapper {

    /**
     * 检索
     * @param record
     * @return
     */
    public List<Equipment> select(@Param("record") Equipment record);

    /**
     * 检索
     * @param record
     * @return
     */
    public List<Equipment> selectNew(@Param("record") Equipment record);

    /**
     * 根据id 检索
     * @param id
     * @return
     */
    public Equipment selectById(String id);

    /**
     *
     * 检查名称是否存在
     * @param name
     * @return
     */
    public int checkName(String name);

    /**
     * 检查编号是否存在
     * @param code
     * @return
     */
    public int checkCode(String code);

    /**
     *
     * 检查名称是否存在
     * @param name
     * @param id
     * @return
     */
    public int checkNameById(@Param("name") String name,@Param("id") String id);

    /**
     * 检查编号是否存在
     * @param code
     * @param id
     * @return
     */
    public int checkCodeById(@Param("code") String code,@Param("id") String id);

    /**
     * 保存设备
     * @param equipment
     * @return
     */
    public int insert(Equipment equipment);

    /**
     * 修改设备
     * @param equipment
     * @return
     */
    public int update(@Param("equipment") Equipment equipment);

    /**
     * 删除设备
     * @param id
     * @return
     */
    public int delete(String id);

    /**
     * 根据 pid  检索文件
     * @param pid
     * @return
     */
    public List<EquipmentFile> selectFile(String pid);

    /**
     * 插入文件
     * @param list
     * @return
     */
    public int insertFile(List<EquipmentFile> list);

    /**
     *
     * @param address
     * @return
     */
    public int deleteFileByAddress(String address);

    /**
     * 根据 pid 删除文件
     * @param pid
     * @return
     */
    public int deleteFileByPid(String pid);

    /**
     * 判断地址是否存在
     * @param address
     * @return
     */
    public int selectByAddress(String address);

}
